package cranim;

import cranim.crparsing.ParsePlayer;
import cranim.crparsing.CRParse;
import cranim.crparsing.CRParser;
import cranim.crparsing.ParseFleet;
import cranim.simulation.Player;
import cranim.graphics.Animation;
import cranim.simulation.SimCase;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.TitledBorder;

/**
 *
 * @author Benedikt
 */
public class CRanimGUI extends javax.swing.JFrame implements Constants{
    
    
    /**
     * Creates new form CRanimGUI
     */
    public CRanimGUI(){
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        PanelAttackerUnits = new javax.swing.JPanel();
        PanelAttackerSmallCargo = new javax.swing.JPanel();
        LabelAttackerSmallCargo = new javax.swing.JLabel();
        TextFieldAttackerSmallCargo = new javax.swing.JTextField();
        PanelAttackerLargeCargo = new javax.swing.JPanel();
        LabelAttackerLargeCargo = new javax.swing.JLabel();
        TextFieldAttackerLargeCargo = new javax.swing.JTextField();
        PanelAttackerLightFigher = new javax.swing.JPanel();
        LabelAttackerLightFigher = new javax.swing.JLabel();
        TextFieldAttackerLightFigher = new javax.swing.JTextField();
        PanelAttackerHeavyFighter = new javax.swing.JPanel();
        LabelAttackerHeavyFighter = new javax.swing.JLabel();
        TextFieldAttackerHeavyFighter = new javax.swing.JTextField();
        PanelAttackerCruiser = new javax.swing.JPanel();
        LabelAttackerCruiser = new javax.swing.JLabel();
        TextFieldAttackerCruiser = new javax.swing.JTextField();
        PanelAttackerBattleship = new javax.swing.JPanel();
        LabelAttackerBattleship = new javax.swing.JLabel();
        TextFieldAttackerBattleship = new javax.swing.JTextField();
        PanelAttackerColonialShip = new javax.swing.JPanel();
        LabelAttackerColonialShip = new javax.swing.JLabel();
        TextFieldAttackerColonialShip = new javax.swing.JTextField();
        PanelAttackerRecycler = new javax.swing.JPanel();
        LabelAttackerRecycler = new javax.swing.JLabel();
        TextFieldAttackerRecycler = new javax.swing.JTextField();
        PanelAttackerEspionageProbe = new javax.swing.JPanel();
        LabelAttackerEspionageProbe = new javax.swing.JLabel();
        TextFieldAttackerEspionageProbe = new javax.swing.JTextField();
        PanelAttackerBomber = new javax.swing.JPanel();
        LabelAttackerBomber = new javax.swing.JLabel();
        TextFieldAttackerBomber = new javax.swing.JTextField();
        PanelAttackerDestroyer = new javax.swing.JPanel();
        LabelAttackerDestroyer = new javax.swing.JLabel();
        TextFieldAttackerDestroyer = new javax.swing.JTextField();
        PanelAttackerDeathstar = new javax.swing.JPanel();
        LabelAttackerDeathstar = new javax.swing.JLabel();
        TextFieldAttackerDeathstar = new javax.swing.JTextField();
        PanelAttackerBattlecruiser = new javax.swing.JPanel();
        LabelAttackerBattlecruiser = new javax.swing.JLabel();
        TextFieldAttackerBattlecruiser = new javax.swing.JTextField();
        PanelAttackerTechs = new javax.swing.JPanel();
        PaneAttackerArms = new javax.swing.JPanel();
        TextFieldAttackerArms = new javax.swing.JTextField();
        labelAttackerArms = new javax.swing.JLabel();
        PaneAttackerShields = new javax.swing.JPanel();
        TextFieldAttackerShields = new javax.swing.JTextField();
        labelAttackerShields = new javax.swing.JLabel();
        PaneAttackerHull = new javax.swing.JPanel();
        TextFieldAttackerHull = new javax.swing.JTextField();
        labelAttackerHull = new javax.swing.JLabel();
        PanelDefenderUnits = new javax.swing.JPanel();
        PaneDefenderSmallCargo = new javax.swing.JPanel();
        LabelDefenderSmallCargo = new javax.swing.JLabel();
        TextFieldDefenderSmallCargo = new javax.swing.JTextField();
        PanelDefenderLargeCargo = new javax.swing.JPanel();
        LabelDefenderLargeCargo = new javax.swing.JLabel();
        TextFieldDefenderLargeCargo = new javax.swing.JTextField();
        PanelDefenderLightFigher = new javax.swing.JPanel();
        LabelDefenderLightFigher = new javax.swing.JLabel();
        TextFieldDefenderLightFigher = new javax.swing.JTextField();
        PanelDefenderHeavyFighter = new javax.swing.JPanel();
        LabelDefenderHeavyFighter = new javax.swing.JLabel();
        TextFieldDefenderHeavyFighter = new javax.swing.JTextField();
        PanelDefenderCruiser = new javax.swing.JPanel();
        LabelDefenderCruiser = new javax.swing.JLabel();
        TextFieldDefenderCruiser = new javax.swing.JTextField();
        PanelDefenderBattleship = new javax.swing.JPanel();
        LabelDefenderBattleship = new javax.swing.JLabel();
        TextFieldDefenderBattleship = new javax.swing.JTextField();
        PanelDefenderColonialShip = new javax.swing.JPanel();
        LabelDefenderColonialShip = new javax.swing.JLabel();
        TextFieldDefenderColonialShip = new javax.swing.JTextField();
        PanelDefenderRecycler = new javax.swing.JPanel();
        LabelDefenderRecycler = new javax.swing.JLabel();
        TextFieldDefenderRecycler = new javax.swing.JTextField();
        PanelDefenderEspionageProbe = new javax.swing.JPanel();
        LabelDefenderEspionageProbe = new javax.swing.JLabel();
        TextFieldDefenderEspionageProbe = new javax.swing.JTextField();
        PanelDefenderBomber = new javax.swing.JPanel();
        LabelDefenderBomber = new javax.swing.JLabel();
        TextFieldDefenderBomber = new javax.swing.JTextField();
        PanelDefenderDestroyer = new javax.swing.JPanel();
        LabeDefenderDestroyer = new javax.swing.JLabel();
        TextFieldDefenderDestroyer = new javax.swing.JTextField();
        PanelDefenderDeathstar = new javax.swing.JPanel();
        LabelDefenderDeathstar = new javax.swing.JLabel();
        TextFieldDefenderDeathstar = new javax.swing.JTextField();
        PanelDefenderBattlecruiser = new javax.swing.JPanel();
        LabelDefenderBattlecruiser = new javax.swing.JLabel();
        TextFieldDefenderBattlecruiser = new javax.swing.JTextField();
        PaneDefenderRocketLauncher = new javax.swing.JPanel();
        TextFieldDefenderRocketLauncher = new javax.swing.JTextField();
        LabelDefenderRocketLauncher = new javax.swing.JLabel();
        PaneDefenderLightLaser = new javax.swing.JPanel();
        TextFieldDefenderLightLaser = new javax.swing.JTextField();
        LabelDefenderLightLaser = new javax.swing.JLabel();
        PaneDefenderHeavyLaser = new javax.swing.JPanel();
        LabelDefenderHeavyLaser = new javax.swing.JLabel();
        TextFieldDefenderHeavyLaser = new javax.swing.JTextField();
        PaneDefenderGaussCannon = new javax.swing.JPanel();
        LabelDefenderGaussCannon = new javax.swing.JLabel();
        TextFieldDefenderGaussCannon = new javax.swing.JTextField();
        PaneDefenderIonCannon = new javax.swing.JPanel();
        LabelDefenderIonCannon = new javax.swing.JLabel();
        TextFieldDefenderIonCannon = new javax.swing.JTextField();
        PaneDefenderPlasmaTurret = new javax.swing.JPanel();
        LabelDefenderPlasmaTurret = new javax.swing.JLabel();
        TextFieldDefenderPlasmaTurret = new javax.swing.JTextField();
        PaneDefenderSmallShieldDome = new javax.swing.JPanel();
        LabelDefenderSmallShieldDome = new javax.swing.JLabel();
        TextFieldDefenderSmallShieldDome = new javax.swing.JTextField();
        PaneDefenderLargeShieldDome = new javax.swing.JPanel();
        LabelDefenderLargeShieldDome = new javax.swing.JLabel();
        TextFieldDefenderLargeShieldDome = new javax.swing.JTextField();
        PaneDefenderSolsat = new javax.swing.JPanel();
        LabelDefenderSolsat = new javax.swing.JLabel();
        TextFieldDefenderSolsat = new javax.swing.JTextField();
        PanelDefenderTechs = new javax.swing.JPanel();
        PaneAttackerArms1 = new javax.swing.JPanel();
        TextFieldDefenderArms = new javax.swing.JTextField();
        labelDefenderArms = new javax.swing.JLabel();
        PaneDefenderhields = new javax.swing.JPanel();
        TextFieldDefenderShields = new javax.swing.JTextField();
        labelDefenderShields = new javax.swing.JLabel();
        PaneDefenderHull = new javax.swing.JPanel();
        TextFieldDefenderHull = new javax.swing.JTextField();
        labelDefenderHull = new javax.swing.JLabel();
        PanelInput = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        TextPaneCR = new javax.swing.JTextPane();
        ButtonReadCR = new javax.swing.JButton();
        ButtonClearCR = new javax.swing.JButton();
        ButtonAnimateCR = new javax.swing.JButton();
        PanelControl = new javax.swing.JPanel();
        ButtonSimulate = new javax.swing.JButton();
        ButtonAnimate = new javax.swing.JButton();
        MenuBarMain = new javax.swing.JMenuBar();
        MenuFileButton = new javax.swing.JMenu();
        MenuFile = new javax.swing.JMenu();
        MenuEditButton = new javax.swing.JMenu();
        MenuEdit = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setName("Form"); // NOI18N

        java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("cranim/Bundle"); // NOI18N
        PanelAttackerUnits.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("CRanimGUI.PanelAttackerUnits.border.title"))); // NOI18N
        PanelAttackerUnits.setToolTipText(bundle.getString("CRanimGUI.PanelAttackerUnits.toolTipText")); // NOI18N
        PanelAttackerUnits.setName("PanelAttackerUnits"); // NOI18N

        PanelAttackerSmallCargo.setName("PanelAttackerSmallCargo"); // NOI18N

        LabelAttackerSmallCargo.setText(bundle.getString("CRanimGUI.LabelAttackerSmallCargo.text")); // NOI18N
        LabelAttackerSmallCargo.setName("LabelAttackerSmallCargo"); // NOI18N

        TextFieldAttackerSmallCargo.setText(bundle.getString("CRanimGUI.TextFieldAttackerSmallCargo.text")); // NOI18N
        TextFieldAttackerSmallCargo.setMinimumSize(new java.awt.Dimension(59, 20));
        TextFieldAttackerSmallCargo.setName("TextFieldAttackerSmallCargo"); // NOI18N
        TextFieldAttackerSmallCargo.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerSmallCargoLayout = new javax.swing.GroupLayout(PanelAttackerSmallCargo);
        PanelAttackerSmallCargo.setLayout(PanelAttackerSmallCargoLayout);
        PanelAttackerSmallCargoLayout.setHorizontalGroup(
            PanelAttackerSmallCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerSmallCargoLayout.createSequentialGroup()
                .addComponent(LabelAttackerSmallCargo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerSmallCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerSmallCargoLayout.setVerticalGroup(
            PanelAttackerSmallCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerSmallCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerSmallCargo)
                .addComponent(TextFieldAttackerSmallCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerLargeCargo.setName("PanelAttackerLargeCargo"); // NOI18N

        LabelAttackerLargeCargo.setText(bundle.getString("CRanimGUI.LabelAttackerLargeCargo.text")); // NOI18N
        LabelAttackerLargeCargo.setName("LabelAttackerLargeCargo"); // NOI18N

        TextFieldAttackerLargeCargo.setText(bundle.getString("CRanimGUI.TextFieldAttackerLargeCargo.text")); // NOI18N
        TextFieldAttackerLargeCargo.setMinimumSize(new java.awt.Dimension(59, 20));
        TextFieldAttackerLargeCargo.setName("TextFieldAttackerLargeCargo"); // NOI18N
        TextFieldAttackerLargeCargo.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerLargeCargoLayout = new javax.swing.GroupLayout(PanelAttackerLargeCargo);
        PanelAttackerLargeCargo.setLayout(PanelAttackerLargeCargoLayout);
        PanelAttackerLargeCargoLayout.setHorizontalGroup(
            PanelAttackerLargeCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerLargeCargoLayout.createSequentialGroup()
                .addComponent(LabelAttackerLargeCargo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerLargeCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerLargeCargoLayout.setVerticalGroup(
            PanelAttackerLargeCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerLargeCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerLargeCargo)
                .addComponent(TextFieldAttackerLargeCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerLightFigher.setName("PanelAttackerLightFigher"); // NOI18N

        LabelAttackerLightFigher.setText(bundle.getString("CRanimGUI.LabelAttackerLightFigher.text")); // NOI18N
        LabelAttackerLightFigher.setName("LabelAttackerLightFigher"); // NOI18N

        TextFieldAttackerLightFigher.setText(bundle.getString("CRanimGUI.TextFieldAttackerLightFigher.text")); // NOI18N
        TextFieldAttackerLightFigher.setMinimumSize(new java.awt.Dimension(59, 20));
        TextFieldAttackerLightFigher.setName("TextFieldAttackerLightFigher"); // NOI18N
        TextFieldAttackerLightFigher.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerLightFigherLayout = new javax.swing.GroupLayout(PanelAttackerLightFigher);
        PanelAttackerLightFigher.setLayout(PanelAttackerLightFigherLayout);
        PanelAttackerLightFigherLayout.setHorizontalGroup(
            PanelAttackerLightFigherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerLightFigherLayout.createSequentialGroup()
                .addComponent(LabelAttackerLightFigher)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerLightFigher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerLightFigherLayout.setVerticalGroup(
            PanelAttackerLightFigherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerLightFigherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerLightFigher)
                .addComponent(TextFieldAttackerLightFigher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerHeavyFighter.setName("PanelAttackerHeavyFighter"); // NOI18N

        LabelAttackerHeavyFighter.setText(bundle.getString("CRanimGUI.LabelAttackerHeavyFighter.text")); // NOI18N
        LabelAttackerHeavyFighter.setName("LabelAttackerHeavyFighter"); // NOI18N

        TextFieldAttackerHeavyFighter.setText(bundle.getString("CRanimGUI.TextFieldAttackerHeavyFighter.text")); // NOI18N
        TextFieldAttackerHeavyFighter.setName("TextFieldAttackerHeavyFighter"); // NOI18N
        TextFieldAttackerHeavyFighter.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerHeavyFighterLayout = new javax.swing.GroupLayout(PanelAttackerHeavyFighter);
        PanelAttackerHeavyFighter.setLayout(PanelAttackerHeavyFighterLayout);
        PanelAttackerHeavyFighterLayout.setHorizontalGroup(
            PanelAttackerHeavyFighterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerHeavyFighterLayout.createSequentialGroup()
                .addComponent(LabelAttackerHeavyFighter)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerHeavyFighter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerHeavyFighterLayout.setVerticalGroup(
            PanelAttackerHeavyFighterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerHeavyFighterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerHeavyFighter)
                .addComponent(TextFieldAttackerHeavyFighter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerCruiser.setName("PanelAttackerCruiser"); // NOI18N

        LabelAttackerCruiser.setText(bundle.getString("CRanimGUI.LabelAttackerCruiser.text")); // NOI18N
        LabelAttackerCruiser.setName("LabelAttackerCruiser"); // NOI18N

        TextFieldAttackerCruiser.setText(bundle.getString("CRanimGUI.TextFieldAttackerCruiser.text")); // NOI18N
        TextFieldAttackerCruiser.setName("TextFieldAttackerCruiser"); // NOI18N
        TextFieldAttackerCruiser.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerCruiserLayout = new javax.swing.GroupLayout(PanelAttackerCruiser);
        PanelAttackerCruiser.setLayout(PanelAttackerCruiserLayout);
        PanelAttackerCruiserLayout.setHorizontalGroup(
            PanelAttackerCruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerCruiserLayout.createSequentialGroup()
                .addComponent(LabelAttackerCruiser)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerCruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerCruiserLayout.setVerticalGroup(
            PanelAttackerCruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerCruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerCruiser)
                .addComponent(TextFieldAttackerCruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerBattleship.setName("PanelAttackerBattleship"); // NOI18N

        LabelAttackerBattleship.setText(bundle.getString("CRanimGUI.LabelAttackerBattleship.text")); // NOI18N
        LabelAttackerBattleship.setName("LabelAttackerBattleship"); // NOI18N

        TextFieldAttackerBattleship.setText(bundle.getString("CRanimGUI.TextFieldAttackerBattleship.text")); // NOI18N
        TextFieldAttackerBattleship.setName("TextFieldAttackerBattleship"); // NOI18N
        TextFieldAttackerBattleship.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerBattleshipLayout = new javax.swing.GroupLayout(PanelAttackerBattleship);
        PanelAttackerBattleship.setLayout(PanelAttackerBattleshipLayout);
        PanelAttackerBattleshipLayout.setHorizontalGroup(
            PanelAttackerBattleshipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerBattleshipLayout.createSequentialGroup()
                .addComponent(LabelAttackerBattleship)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerBattleship, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerBattleshipLayout.setVerticalGroup(
            PanelAttackerBattleshipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerBattleshipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerBattleship)
                .addComponent(TextFieldAttackerBattleship, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerColonialShip.setName("PanelAttackerColonialShip"); // NOI18N

        LabelAttackerColonialShip.setText(bundle.getString("CRanimGUI.LabelAttackerColonialShip.text")); // NOI18N
        LabelAttackerColonialShip.setName("LabelAttackerColonialShip"); // NOI18N

        TextFieldAttackerColonialShip.setText(bundle.getString("CRanimGUI.TextFieldAttackerColonialShip.text")); // NOI18N
        TextFieldAttackerColonialShip.setName("TextFieldAttackerColonialShip"); // NOI18N
        TextFieldAttackerColonialShip.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerColonialShipLayout = new javax.swing.GroupLayout(PanelAttackerColonialShip);
        PanelAttackerColonialShip.setLayout(PanelAttackerColonialShipLayout);
        PanelAttackerColonialShipLayout.setHorizontalGroup(
            PanelAttackerColonialShipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerColonialShipLayout.createSequentialGroup()
                .addComponent(LabelAttackerColonialShip)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerColonialShip, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerColonialShipLayout.setVerticalGroup(
            PanelAttackerColonialShipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerColonialShipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerColonialShip)
                .addComponent(TextFieldAttackerColonialShip, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerRecycler.setName("PanelAttackerRecycler"); // NOI18N

        LabelAttackerRecycler.setText(bundle.getString("CRanimGUI.LabelAttackerRecycler.text")); // NOI18N
        LabelAttackerRecycler.setName("LabelAttackerRecycler"); // NOI18N

        TextFieldAttackerRecycler.setText(bundle.getString("CRanimGUI.TextFieldAttackerRecycler.text")); // NOI18N
        TextFieldAttackerRecycler.setMinimumSize(new java.awt.Dimension(59, 20));
        TextFieldAttackerRecycler.setName("TextFieldAttackerRecycler"); // NOI18N
        TextFieldAttackerRecycler.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerRecyclerLayout = new javax.swing.GroupLayout(PanelAttackerRecycler);
        PanelAttackerRecycler.setLayout(PanelAttackerRecyclerLayout);
        PanelAttackerRecyclerLayout.setHorizontalGroup(
            PanelAttackerRecyclerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerRecyclerLayout.createSequentialGroup()
                .addComponent(LabelAttackerRecycler)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerRecycler, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerRecyclerLayout.setVerticalGroup(
            PanelAttackerRecyclerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerRecyclerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerRecycler)
                .addComponent(TextFieldAttackerRecycler, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerEspionageProbe.setName("PanelAttackerEspionageProbe"); // NOI18N

        LabelAttackerEspionageProbe.setText(bundle.getString("CRanimGUI.LabelAttackerEspionageProbe.text")); // NOI18N
        LabelAttackerEspionageProbe.setName("LabelAttackerEspionageProbe"); // NOI18N

        TextFieldAttackerEspionageProbe.setText(bundle.getString("CRanimGUI.TextFieldAttackerEspionageProbe.text")); // NOI18N
        TextFieldAttackerEspionageProbe.setName("TextFieldAttackerEspionageProbe"); // NOI18N
        TextFieldAttackerEspionageProbe.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerEspionageProbeLayout = new javax.swing.GroupLayout(PanelAttackerEspionageProbe);
        PanelAttackerEspionageProbe.setLayout(PanelAttackerEspionageProbeLayout);
        PanelAttackerEspionageProbeLayout.setHorizontalGroup(
            PanelAttackerEspionageProbeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerEspionageProbeLayout.createSequentialGroup()
                .addComponent(LabelAttackerEspionageProbe)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerEspionageProbe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerEspionageProbeLayout.setVerticalGroup(
            PanelAttackerEspionageProbeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerEspionageProbeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerEspionageProbe)
                .addComponent(TextFieldAttackerEspionageProbe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerBomber.setName("PanelAttackerBomber"); // NOI18N

        LabelAttackerBomber.setText(bundle.getString("CRanimGUI.LabelAttackerBomber.text")); // NOI18N
        LabelAttackerBomber.setName("LabelAttackerBomber"); // NOI18N

        TextFieldAttackerBomber.setText(bundle.getString("CRanimGUI.TextFieldAttackerBomber.text")); // NOI18N
        TextFieldAttackerBomber.setName("TextFieldAttackerBomber"); // NOI18N
        TextFieldAttackerBomber.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerBomberLayout = new javax.swing.GroupLayout(PanelAttackerBomber);
        PanelAttackerBomber.setLayout(PanelAttackerBomberLayout);
        PanelAttackerBomberLayout.setHorizontalGroup(
            PanelAttackerBomberLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerBomberLayout.createSequentialGroup()
                .addComponent(LabelAttackerBomber)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerBomber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerBomberLayout.setVerticalGroup(
            PanelAttackerBomberLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerBomberLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerBomber)
                .addComponent(TextFieldAttackerBomber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerDestroyer.setName("PanelAttackerDestroyer"); // NOI18N

        LabelAttackerDestroyer.setText(bundle.getString("CRanimGUI.LabelAttackerDestroyer.text")); // NOI18N
        LabelAttackerDestroyer.setName("LabelAttackerDestroyer"); // NOI18N

        TextFieldAttackerDestroyer.setText(bundle.getString("CRanimGUI.TextFieldAttackerDestroyer.text")); // NOI18N
        TextFieldAttackerDestroyer.setName("TextFieldAttackerDestroyer"); // NOI18N
        TextFieldAttackerDestroyer.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerDestroyerLayout = new javax.swing.GroupLayout(PanelAttackerDestroyer);
        PanelAttackerDestroyer.setLayout(PanelAttackerDestroyerLayout);
        PanelAttackerDestroyerLayout.setHorizontalGroup(
            PanelAttackerDestroyerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerDestroyerLayout.createSequentialGroup()
                .addComponent(LabelAttackerDestroyer)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerDestroyer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerDestroyerLayout.setVerticalGroup(
            PanelAttackerDestroyerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerDestroyerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerDestroyer)
                .addComponent(TextFieldAttackerDestroyer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerDeathstar.setName("PanelAttackerDeathstar"); // NOI18N

        LabelAttackerDeathstar.setText(bundle.getString("CRanimGUI.LabelAttackerDeathstar.text")); // NOI18N
        LabelAttackerDeathstar.setName("LabelAttackerDeathstar"); // NOI18N

        TextFieldAttackerDeathstar.setText(bundle.getString("CRanimGUI.TextFieldAttackerDeathstar.text")); // NOI18N
        TextFieldAttackerDeathstar.setName("TextFieldAttackerDeathstar"); // NOI18N
        TextFieldAttackerDeathstar.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerDeathstarLayout = new javax.swing.GroupLayout(PanelAttackerDeathstar);
        PanelAttackerDeathstar.setLayout(PanelAttackerDeathstarLayout);
        PanelAttackerDeathstarLayout.setHorizontalGroup(
            PanelAttackerDeathstarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerDeathstarLayout.createSequentialGroup()
                .addComponent(LabelAttackerDeathstar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerDeathstar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerDeathstarLayout.setVerticalGroup(
            PanelAttackerDeathstarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerDeathstarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerDeathstar)
                .addComponent(TextFieldAttackerDeathstar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerBattlecruiser.setName("PanelAttackerBattlecruiser"); // NOI18N

        LabelAttackerBattlecruiser.setText(bundle.getString("CRanimGUI.LabelAttackerBattlecruiser.text")); // NOI18N
        LabelAttackerBattlecruiser.setName("LabelAttackerBattlecruiser"); // NOI18N

        TextFieldAttackerBattlecruiser.setText(bundle.getString("CRanimGUI.TextFieldAttackerBattlecruiser.text")); // NOI18N
        TextFieldAttackerBattlecruiser.setName("TextFieldAttackerBattlecruiser"); // NOI18N
        TextFieldAttackerBattlecruiser.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelAttackerBattlecruiserLayout = new javax.swing.GroupLayout(PanelAttackerBattlecruiser);
        PanelAttackerBattlecruiser.setLayout(PanelAttackerBattlecruiserLayout);
        PanelAttackerBattlecruiserLayout.setHorizontalGroup(
            PanelAttackerBattlecruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerBattlecruiserLayout.createSequentialGroup()
                .addComponent(LabelAttackerBattlecruiser)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerBattlecruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelAttackerBattlecruiserLayout.setVerticalGroup(
            PanelAttackerBattlecruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerBattlecruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelAttackerBattlecruiser)
                .addComponent(TextFieldAttackerBattlecruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelAttackerTechs.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("CRanimGUI.PanelAttackerTechs.border.title"))); // NOI18N
        PanelAttackerTechs.setName("PanelAttackerTechs"); // NOI18N

        PaneAttackerArms.setName("PaneAttackerArms"); // NOI18N

        TextFieldAttackerArms.setText(bundle.getString("CRanimGUI.TextFieldAttackerArms.text")); // NOI18N
        TextFieldAttackerArms.setName("TextFieldAttackerArms"); // NOI18N
        TextFieldAttackerArms.setPreferredSize(new java.awt.Dimension(59, 20));

        labelAttackerArms.setText(bundle.getString("CRanimGUI.labelAttackerArms.text")); // NOI18N
        labelAttackerArms.setName("labelAttackerArms"); // NOI18N

        javax.swing.GroupLayout PaneAttackerArmsLayout = new javax.swing.GroupLayout(PaneAttackerArms);
        PaneAttackerArms.setLayout(PaneAttackerArmsLayout);
        PaneAttackerArmsLayout.setHorizontalGroup(
            PaneAttackerArmsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneAttackerArmsLayout.createSequentialGroup()
                .addComponent(labelAttackerArms)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerArms, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PaneAttackerArmsLayout.setVerticalGroup(
            PaneAttackerArmsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneAttackerArmsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldAttackerArms, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(labelAttackerArms))
        );

        PaneAttackerShields.setName("PaneAttackerShields"); // NOI18N

        TextFieldAttackerShields.setText(bundle.getString("CRanimGUI.TextFieldAttackerShields.text")); // NOI18N
        TextFieldAttackerShields.setName("TextFieldAttackerShields"); // NOI18N
        TextFieldAttackerShields.setPreferredSize(new java.awt.Dimension(59, 20));

        labelAttackerShields.setText(bundle.getString("CRanimGUI.labelAttackerShields.text")); // NOI18N
        labelAttackerShields.setName("labelAttackerShields"); // NOI18N

        javax.swing.GroupLayout PaneAttackerShieldsLayout = new javax.swing.GroupLayout(PaneAttackerShields);
        PaneAttackerShields.setLayout(PaneAttackerShieldsLayout);
        PaneAttackerShieldsLayout.setHorizontalGroup(
            PaneAttackerShieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneAttackerShieldsLayout.createSequentialGroup()
                .addComponent(labelAttackerShields)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerShields, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PaneAttackerShieldsLayout.setVerticalGroup(
            PaneAttackerShieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneAttackerShieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldAttackerShields, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(labelAttackerShields))
        );

        PaneAttackerHull.setName("PaneAttackerHull"); // NOI18N

        TextFieldAttackerHull.setText(bundle.getString("CRanimGUI.TextFieldAttackerHull.text")); // NOI18N
        TextFieldAttackerHull.setName("TextFieldAttackerHull"); // NOI18N
        TextFieldAttackerHull.setPreferredSize(new java.awt.Dimension(59, 20));

        labelAttackerHull.setText(bundle.getString("CRanimGUI.labelAttackerHull.text")); // NOI18N
        labelAttackerHull.setName("labelAttackerHull"); // NOI18N

        javax.swing.GroupLayout PaneAttackerHullLayout = new javax.swing.GroupLayout(PaneAttackerHull);
        PaneAttackerHull.setLayout(PaneAttackerHullLayout);
        PaneAttackerHullLayout.setHorizontalGroup(
            PaneAttackerHullLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneAttackerHullLayout.createSequentialGroup()
                .addComponent(labelAttackerHull)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldAttackerHull, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PaneAttackerHullLayout.setVerticalGroup(
            PaneAttackerHullLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneAttackerHullLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldAttackerHull, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(labelAttackerHull))
        );

        javax.swing.GroupLayout PanelAttackerTechsLayout = new javax.swing.GroupLayout(PanelAttackerTechs);
        PanelAttackerTechs.setLayout(PanelAttackerTechsLayout);
        PanelAttackerTechsLayout.setHorizontalGroup(
            PanelAttackerTechsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerTechsLayout.createSequentialGroup()
                .addGroup(PanelAttackerTechsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(PaneAttackerHull, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneAttackerArms, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneAttackerShields, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        PanelAttackerTechsLayout.setVerticalGroup(
            PanelAttackerTechsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerTechsLayout.createSequentialGroup()
                .addComponent(PaneAttackerArms, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PaneAttackerShields, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PaneAttackerHull, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        javax.swing.GroupLayout PanelAttackerUnitsLayout = new javax.swing.GroupLayout(PanelAttackerUnits);
        PanelAttackerUnits.setLayout(PanelAttackerUnitsLayout);
        PanelAttackerUnitsLayout.setHorizontalGroup(
            PanelAttackerUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerUnitsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanelAttackerUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(PanelAttackerSmallCargo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerLargeCargo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerLightFigher, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerHeavyFighter, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerCruiser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerBattleship, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerColonialShip, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerRecycler, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerEspionageProbe, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerBomber, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerDestroyer, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerDeathstar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerBattlecruiser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerTechs, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        PanelAttackerUnitsLayout.setVerticalGroup(
            PanelAttackerUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelAttackerUnitsLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(PanelAttackerSmallCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerLargeCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerLightFigher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerHeavyFighter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerCruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerBattleship, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerColonialShip, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerRecycler, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerEspionageProbe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerBomber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerDestroyer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerDeathstar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerBattlecruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelAttackerTechs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        PanelDefenderUnits.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("CRanimGUI.PanelDefenderUnits.border.title"))); // NOI18N
        PanelDefenderUnits.setToolTipText(bundle.getString("CRanimGUI.PanelDefenderUnits.toolTipText")); // NOI18N
        PanelDefenderUnits.setName("PanelDefenderUnits"); // NOI18N

        PaneDefenderSmallCargo.setName("PaneDefenderSmallCargo"); // NOI18N

        LabelDefenderSmallCargo.setText(bundle.getString("CRanimGUI.LabelDefenderSmallCargo.text")); // NOI18N
        LabelDefenderSmallCargo.setName("LabelDefenderSmallCargo"); // NOI18N

        TextFieldDefenderSmallCargo.setText(bundle.getString("CRanimGUI.TextFieldDefenderSmallCargo.text")); // NOI18N
        TextFieldDefenderSmallCargo.setName("TextFieldDefenderSmallCargo"); // NOI18N
        TextFieldDefenderSmallCargo.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderSmallCargoLayout = new javax.swing.GroupLayout(PaneDefenderSmallCargo);
        PaneDefenderSmallCargo.setLayout(PaneDefenderSmallCargoLayout);
        PaneDefenderSmallCargoLayout.setHorizontalGroup(
            PaneDefenderSmallCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderSmallCargoLayout.createSequentialGroup()
                .addComponent(LabelDefenderSmallCargo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderSmallCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PaneDefenderSmallCargoLayout.setVerticalGroup(
            PaneDefenderSmallCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderSmallCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderSmallCargo)
                .addComponent(TextFieldDefenderSmallCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderLargeCargo.setName("PanelDefenderLargeCargo"); // NOI18N

        LabelDefenderLargeCargo.setText(bundle.getString("CRanimGUI.LabelDefenderLargeCargo.text")); // NOI18N
        LabelDefenderLargeCargo.setName("LabelDefenderLargeCargo"); // NOI18N

        TextFieldDefenderLargeCargo.setText(bundle.getString("CRanimGUI.TextFieldDefenderLargeCargo.text")); // NOI18N
        TextFieldDefenderLargeCargo.setName("TextFieldDefenderLargeCargo"); // NOI18N
        TextFieldDefenderLargeCargo.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderLargeCargoLayout = new javax.swing.GroupLayout(PanelDefenderLargeCargo);
        PanelDefenderLargeCargo.setLayout(PanelDefenderLargeCargoLayout);
        PanelDefenderLargeCargoLayout.setHorizontalGroup(
            PanelDefenderLargeCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderLargeCargoLayout.createSequentialGroup()
                .addComponent(LabelDefenderLargeCargo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderLargeCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderLargeCargoLayout.setVerticalGroup(
            PanelDefenderLargeCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderLargeCargoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderLargeCargo)
                .addComponent(TextFieldDefenderLargeCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderLightFigher.setName("PanelDefenderLightFigher"); // NOI18N

        LabelDefenderLightFigher.setText(bundle.getString("CRanimGUI.LabelDefenderLightFigher.text")); // NOI18N
        LabelDefenderLightFigher.setName("LabelDefenderLightFigher"); // NOI18N

        TextFieldDefenderLightFigher.setText(bundle.getString("CRanimGUI.TextFieldDefenderLightFigher.text")); // NOI18N
        TextFieldDefenderLightFigher.setName("TextFieldDefenderLightFigher"); // NOI18N
        TextFieldDefenderLightFigher.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderLightFigherLayout = new javax.swing.GroupLayout(PanelDefenderLightFigher);
        PanelDefenderLightFigher.setLayout(PanelDefenderLightFigherLayout);
        PanelDefenderLightFigherLayout.setHorizontalGroup(
            PanelDefenderLightFigherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderLightFigherLayout.createSequentialGroup()
                .addComponent(LabelDefenderLightFigher)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderLightFigher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderLightFigherLayout.setVerticalGroup(
            PanelDefenderLightFigherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderLightFigherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderLightFigher)
                .addComponent(TextFieldDefenderLightFigher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderHeavyFighter.setName("PanelDefenderHeavyFighter"); // NOI18N

        LabelDefenderHeavyFighter.setText(bundle.getString("CRanimGUI.LabelDefenderHeavyFighter.text")); // NOI18N
        LabelDefenderHeavyFighter.setName("LabelDefenderHeavyFighter"); // NOI18N

        TextFieldDefenderHeavyFighter.setText(bundle.getString("CRanimGUI.TextFieldDefenderHeavyFighter.text")); // NOI18N
        TextFieldDefenderHeavyFighter.setName("TextFieldDefenderHeavyFighter"); // NOI18N
        TextFieldDefenderHeavyFighter.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderHeavyFighterLayout = new javax.swing.GroupLayout(PanelDefenderHeavyFighter);
        PanelDefenderHeavyFighter.setLayout(PanelDefenderHeavyFighterLayout);
        PanelDefenderHeavyFighterLayout.setHorizontalGroup(
            PanelDefenderHeavyFighterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderHeavyFighterLayout.createSequentialGroup()
                .addComponent(LabelDefenderHeavyFighter)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderHeavyFighter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderHeavyFighterLayout.setVerticalGroup(
            PanelDefenderHeavyFighterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderHeavyFighterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderHeavyFighter)
                .addComponent(TextFieldDefenderHeavyFighter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderCruiser.setName("PanelDefenderCruiser"); // NOI18N

        LabelDefenderCruiser.setText(bundle.getString("CRanimGUI.LabelDefenderCruiser.text")); // NOI18N
        LabelDefenderCruiser.setName("LabelDefenderCruiser"); // NOI18N

        TextFieldDefenderCruiser.setText(bundle.getString("CRanimGUI.TextFieldDefenderCruiser.text")); // NOI18N
        TextFieldDefenderCruiser.setName("TextFieldDefenderCruiser"); // NOI18N
        TextFieldDefenderCruiser.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderCruiserLayout = new javax.swing.GroupLayout(PanelDefenderCruiser);
        PanelDefenderCruiser.setLayout(PanelDefenderCruiserLayout);
        PanelDefenderCruiserLayout.setHorizontalGroup(
            PanelDefenderCruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderCruiserLayout.createSequentialGroup()
                .addComponent(LabelDefenderCruiser)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderCruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderCruiserLayout.setVerticalGroup(
            PanelDefenderCruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderCruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderCruiser)
                .addComponent(TextFieldDefenderCruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderBattleship.setName("PanelDefenderBattleship"); // NOI18N

        LabelDefenderBattleship.setText(bundle.getString("CRanimGUI.LabelDefenderBattleship.text")); // NOI18N
        LabelDefenderBattleship.setName("LabelDefenderBattleship"); // NOI18N

        TextFieldDefenderBattleship.setText(bundle.getString("CRanimGUI.TextFieldDefenderBattleship.text")); // NOI18N
        TextFieldDefenderBattleship.setName("TextFieldDefenderBattleship"); // NOI18N
        TextFieldDefenderBattleship.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderBattleshipLayout = new javax.swing.GroupLayout(PanelDefenderBattleship);
        PanelDefenderBattleship.setLayout(PanelDefenderBattleshipLayout);
        PanelDefenderBattleshipLayout.setHorizontalGroup(
            PanelDefenderBattleshipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderBattleshipLayout.createSequentialGroup()
                .addComponent(LabelDefenderBattleship)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderBattleship, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderBattleshipLayout.setVerticalGroup(
            PanelDefenderBattleshipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderBattleshipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderBattleship)
                .addComponent(TextFieldDefenderBattleship, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderColonialShip.setName("PanelDefenderColonialShip"); // NOI18N

        LabelDefenderColonialShip.setText(bundle.getString("CRanimGUI.LabelDefenderColonialShip.text")); // NOI18N
        LabelDefenderColonialShip.setName("LabelDefenderColonialShip"); // NOI18N

        TextFieldDefenderColonialShip.setText(bundle.getString("CRanimGUI.TextFieldDefenderColonialShip.text")); // NOI18N
        TextFieldDefenderColonialShip.setName("TextFieldDefenderColonialShip"); // NOI18N
        TextFieldDefenderColonialShip.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderColonialShipLayout = new javax.swing.GroupLayout(PanelDefenderColonialShip);
        PanelDefenderColonialShip.setLayout(PanelDefenderColonialShipLayout);
        PanelDefenderColonialShipLayout.setHorizontalGroup(
            PanelDefenderColonialShipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderColonialShipLayout.createSequentialGroup()
                .addComponent(LabelDefenderColonialShip)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderColonialShip, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderColonialShipLayout.setVerticalGroup(
            PanelDefenderColonialShipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderColonialShipLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderColonialShip)
                .addComponent(TextFieldDefenderColonialShip, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderRecycler.setName("PanelDefenderRecycler"); // NOI18N

        LabelDefenderRecycler.setText(bundle.getString("CRanimGUI.LabelDefenderRecycler.text")); // NOI18N
        LabelDefenderRecycler.setName("LabelDefenderRecycler"); // NOI18N

        TextFieldDefenderRecycler.setText(bundle.getString("CRanimGUI.TextFieldDefenderRecycler.text")); // NOI18N
        TextFieldDefenderRecycler.setName("TextFieldDefenderRecycler"); // NOI18N
        TextFieldDefenderRecycler.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderRecyclerLayout = new javax.swing.GroupLayout(PanelDefenderRecycler);
        PanelDefenderRecycler.setLayout(PanelDefenderRecyclerLayout);
        PanelDefenderRecyclerLayout.setHorizontalGroup(
            PanelDefenderRecyclerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderRecyclerLayout.createSequentialGroup()
                .addComponent(LabelDefenderRecycler)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderRecycler, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderRecyclerLayout.setVerticalGroup(
            PanelDefenderRecyclerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderRecyclerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderRecycler)
                .addComponent(TextFieldDefenderRecycler, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderEspionageProbe.setName("PanelDefenderEspionageProbe"); // NOI18N

        LabelDefenderEspionageProbe.setText(bundle.getString("CRanimGUI.LabelDefenderEspionageProbe.text")); // NOI18N
        LabelDefenderEspionageProbe.setName("LabelDefenderEspionageProbe"); // NOI18N

        TextFieldDefenderEspionageProbe.setText(bundle.getString("CRanimGUI.TextFieldDefenderEspionageProbe.text")); // NOI18N
        TextFieldDefenderEspionageProbe.setMinimumSize(new java.awt.Dimension(59, 20));
        TextFieldDefenderEspionageProbe.setName("TextFieldDefenderEspionageProbe"); // NOI18N

        javax.swing.GroupLayout PanelDefenderEspionageProbeLayout = new javax.swing.GroupLayout(PanelDefenderEspionageProbe);
        PanelDefenderEspionageProbe.setLayout(PanelDefenderEspionageProbeLayout);
        PanelDefenderEspionageProbeLayout.setHorizontalGroup(
            PanelDefenderEspionageProbeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderEspionageProbeLayout.createSequentialGroup()
                .addComponent(LabelDefenderEspionageProbe)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderEspionageProbe, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderEspionageProbeLayout.setVerticalGroup(
            PanelDefenderEspionageProbeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderEspionageProbeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderEspionageProbe)
                .addComponent(TextFieldDefenderEspionageProbe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderBomber.setName("PanelDefenderBomber"); // NOI18N

        LabelDefenderBomber.setText(bundle.getString("CRanimGUI.LabelDefenderBomber.text")); // NOI18N
        LabelDefenderBomber.setName("LabelDefenderBomber"); // NOI18N

        TextFieldDefenderBomber.setText(bundle.getString("CRanimGUI.TextFieldDefenderBomber.text")); // NOI18N
        TextFieldDefenderBomber.setName("TextFieldDefenderBomber"); // NOI18N
        TextFieldDefenderBomber.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderBomberLayout = new javax.swing.GroupLayout(PanelDefenderBomber);
        PanelDefenderBomber.setLayout(PanelDefenderBomberLayout);
        PanelDefenderBomberLayout.setHorizontalGroup(
            PanelDefenderBomberLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderBomberLayout.createSequentialGroup()
                .addComponent(LabelDefenderBomber)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderBomber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderBomberLayout.setVerticalGroup(
            PanelDefenderBomberLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderBomberLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderBomber)
                .addComponent(TextFieldDefenderBomber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderDestroyer.setName("PanelDefenderDestroyer"); // NOI18N

        LabeDefenderDestroyer.setText(bundle.getString("CRanimGUI.LabeDefenderDestroyer.text")); // NOI18N
        LabeDefenderDestroyer.setName("LabeDefenderDestroyer"); // NOI18N

        TextFieldDefenderDestroyer.setText(bundle.getString("CRanimGUI.TextFieldDefenderDestroyer.text")); // NOI18N
        TextFieldDefenderDestroyer.setName("TextFieldDefenderDestroyer"); // NOI18N
        TextFieldDefenderDestroyer.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderDestroyerLayout = new javax.swing.GroupLayout(PanelDefenderDestroyer);
        PanelDefenderDestroyer.setLayout(PanelDefenderDestroyerLayout);
        PanelDefenderDestroyerLayout.setHorizontalGroup(
            PanelDefenderDestroyerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderDestroyerLayout.createSequentialGroup()
                .addComponent(LabeDefenderDestroyer)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderDestroyer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderDestroyerLayout.setVerticalGroup(
            PanelDefenderDestroyerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderDestroyerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabeDefenderDestroyer)
                .addComponent(TextFieldDefenderDestroyer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderDeathstar.setName("PanelDefenderDeathstar"); // NOI18N

        LabelDefenderDeathstar.setText(bundle.getString("CRanimGUI.LabelDefenderDeathstar.text")); // NOI18N
        LabelDefenderDeathstar.setName("LabelDefenderDeathstar"); // NOI18N

        TextFieldDefenderDeathstar.setText(bundle.getString("CRanimGUI.TextFieldDefenderDeathstar.text")); // NOI18N
        TextFieldDefenderDeathstar.setName("TextFieldDefenderDeathstar"); // NOI18N
        TextFieldDefenderDeathstar.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderDeathstarLayout = new javax.swing.GroupLayout(PanelDefenderDeathstar);
        PanelDefenderDeathstar.setLayout(PanelDefenderDeathstarLayout);
        PanelDefenderDeathstarLayout.setHorizontalGroup(
            PanelDefenderDeathstarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderDeathstarLayout.createSequentialGroup()
                .addComponent(LabelDefenderDeathstar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderDeathstar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderDeathstarLayout.setVerticalGroup(
            PanelDefenderDeathstarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderDeathstarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderDeathstar)
                .addComponent(TextFieldDefenderDeathstar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderBattlecruiser.setName("PanelDefenderBattlecruiser"); // NOI18N

        LabelDefenderBattlecruiser.setText(bundle.getString("CRanimGUI.LabelDefenderBattlecruiser.text")); // NOI18N
        LabelDefenderBattlecruiser.setName("LabelDefenderBattlecruiser"); // NOI18N

        TextFieldDefenderBattlecruiser.setText(bundle.getString("CRanimGUI.TextFieldDefenderBattlecruiser.text")); // NOI18N
        TextFieldDefenderBattlecruiser.setName("TextFieldDefenderBattlecruiser"); // NOI18N
        TextFieldDefenderBattlecruiser.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PanelDefenderBattlecruiserLayout = new javax.swing.GroupLayout(PanelDefenderBattlecruiser);
        PanelDefenderBattlecruiser.setLayout(PanelDefenderBattlecruiserLayout);
        PanelDefenderBattlecruiserLayout.setHorizontalGroup(
            PanelDefenderBattlecruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderBattlecruiserLayout.createSequentialGroup()
                .addComponent(LabelDefenderBattlecruiser)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderBattlecruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PanelDefenderBattlecruiserLayout.setVerticalGroup(
            PanelDefenderBattlecruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderBattlecruiserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderBattlecruiser)
                .addComponent(TextFieldDefenderBattlecruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PaneDefenderRocketLauncher.setName("PaneDefenderRocketLauncher"); // NOI18N

        TextFieldDefenderRocketLauncher.setText(bundle.getString("CRanimGUI.TextFieldDefenderRocketLauncher.text")); // NOI18N
        TextFieldDefenderRocketLauncher.setName("TextFieldDefenderRocketLauncher"); // NOI18N
        TextFieldDefenderRocketLauncher.setPreferredSize(new java.awt.Dimension(59, 20));

        LabelDefenderRocketLauncher.setText(bundle.getString("CRanimGUI.LabelDefenderRocketLauncher.text")); // NOI18N
        LabelDefenderRocketLauncher.setName("LabelDefenderRocketLauncher"); // NOI18N

        javax.swing.GroupLayout PaneDefenderRocketLauncherLayout = new javax.swing.GroupLayout(PaneDefenderRocketLauncher);
        PaneDefenderRocketLauncher.setLayout(PaneDefenderRocketLauncherLayout);
        PaneDefenderRocketLauncherLayout.setHorizontalGroup(
            PaneDefenderRocketLauncherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneDefenderRocketLauncherLayout.createSequentialGroup()
                .addComponent(LabelDefenderRocketLauncher)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderRocketLauncher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderRocketLauncherLayout.setVerticalGroup(
            PaneDefenderRocketLauncherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneDefenderRocketLauncherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldDefenderRocketLauncher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(LabelDefenderRocketLauncher))
        );

        PaneDefenderLightLaser.setName("PaneDefenderLightLaser"); // NOI18N

        TextFieldDefenderLightLaser.setText(bundle.getString("CRanimGUI.TextFieldDefenderLightLaser.text")); // NOI18N
        TextFieldDefenderLightLaser.setName("TextFieldDefenderLightLaser"); // NOI18N
        TextFieldDefenderLightLaser.setPreferredSize(new java.awt.Dimension(59, 20));

        LabelDefenderLightLaser.setText(bundle.getString("CRanimGUI.LabelDefenderLightLaser.text")); // NOI18N
        LabelDefenderLightLaser.setName("LabelDefenderLightLaser"); // NOI18N

        javax.swing.GroupLayout PaneDefenderLightLaserLayout = new javax.swing.GroupLayout(PaneDefenderLightLaser);
        PaneDefenderLightLaser.setLayout(PaneDefenderLightLaserLayout);
        PaneDefenderLightLaserLayout.setHorizontalGroup(
            PaneDefenderLightLaserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderLightLaserLayout.createSequentialGroup()
                .addComponent(LabelDefenderLightLaser)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderLightLaser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderLightLaserLayout.setVerticalGroup(
            PaneDefenderLightLaserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderLightLaserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldDefenderLightLaser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(LabelDefenderLightLaser))
        );

        PaneDefenderHeavyLaser.setName("PaneDefenderHeavyLaser"); // NOI18N

        LabelDefenderHeavyLaser.setText(bundle.getString("CRanimGUI.LabelDefenderHeavyLaser.text")); // NOI18N
        LabelDefenderHeavyLaser.setName("LabelDefenderHeavyLaser"); // NOI18N

        TextFieldDefenderHeavyLaser.setText(bundle.getString("CRanimGUI.TextFieldDefenderHeavyLaser.text")); // NOI18N
        TextFieldDefenderHeavyLaser.setName("TextFieldDefenderHeavyLaser"); // NOI18N
        TextFieldDefenderHeavyLaser.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderHeavyLaserLayout = new javax.swing.GroupLayout(PaneDefenderHeavyLaser);
        PaneDefenderHeavyLaser.setLayout(PaneDefenderHeavyLaserLayout);
        PaneDefenderHeavyLaserLayout.setHorizontalGroup(
            PaneDefenderHeavyLaserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderHeavyLaserLayout.createSequentialGroup()
                .addComponent(LabelDefenderHeavyLaser)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderHeavyLaser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderHeavyLaserLayout.setVerticalGroup(
            PaneDefenderHeavyLaserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderHeavyLaserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderHeavyLaser)
                .addComponent(TextFieldDefenderHeavyLaser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PaneDefenderGaussCannon.setName("PaneDefenderGaussCannon"); // NOI18N

        LabelDefenderGaussCannon.setText(bundle.getString("CRanimGUI.LabelDefenderGaussCannon.text")); // NOI18N
        LabelDefenderGaussCannon.setName("LabelDefenderGaussCannon"); // NOI18N

        TextFieldDefenderGaussCannon.setText(bundle.getString("CRanimGUI.TextFieldDefenderGaussCannon.text")); // NOI18N
        TextFieldDefenderGaussCannon.setName("TextFieldDefenderGaussCannon"); // NOI18N
        TextFieldDefenderGaussCannon.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderGaussCannonLayout = new javax.swing.GroupLayout(PaneDefenderGaussCannon);
        PaneDefenderGaussCannon.setLayout(PaneDefenderGaussCannonLayout);
        PaneDefenderGaussCannonLayout.setHorizontalGroup(
            PaneDefenderGaussCannonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderGaussCannonLayout.createSequentialGroup()
                .addComponent(LabelDefenderGaussCannon)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderGaussCannon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderGaussCannonLayout.setVerticalGroup(
            PaneDefenderGaussCannonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderGaussCannonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderGaussCannon)
                .addComponent(TextFieldDefenderGaussCannon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PaneDefenderIonCannon.setName("PaneDefenderIonCannon"); // NOI18N

        LabelDefenderIonCannon.setText(bundle.getString("CRanimGUI.LabelDefenderIonCannon.text")); // NOI18N
        LabelDefenderIonCannon.setName("LabelDefenderIonCannon"); // NOI18N

        TextFieldDefenderIonCannon.setText(bundle.getString("CRanimGUI.TextFieldDefenderIonCannon.text")); // NOI18N
        TextFieldDefenderIonCannon.setName("TextFieldDefenderIonCannon"); // NOI18N
        TextFieldDefenderIonCannon.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderIonCannonLayout = new javax.swing.GroupLayout(PaneDefenderIonCannon);
        PaneDefenderIonCannon.setLayout(PaneDefenderIonCannonLayout);
        PaneDefenderIonCannonLayout.setHorizontalGroup(
            PaneDefenderIonCannonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderIonCannonLayout.createSequentialGroup()
                .addComponent(LabelDefenderIonCannon)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderIonCannon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderIonCannonLayout.setVerticalGroup(
            PaneDefenderIonCannonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderIonCannonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderIonCannon)
                .addComponent(TextFieldDefenderIonCannon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PaneDefenderPlasmaTurret.setName("PaneDefenderPlasmaTurret"); // NOI18N

        LabelDefenderPlasmaTurret.setText(bundle.getString("CRanimGUI.LabelDefenderPlasmaTurret.text")); // NOI18N
        LabelDefenderPlasmaTurret.setName("LabelDefenderPlasmaTurret"); // NOI18N

        TextFieldDefenderPlasmaTurret.setText(bundle.getString("CRanimGUI.TextFieldDefenderPlasmaTurret.text")); // NOI18N
        TextFieldDefenderPlasmaTurret.setName("TextFieldDefenderPlasmaTurret"); // NOI18N
        TextFieldDefenderPlasmaTurret.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderPlasmaTurretLayout = new javax.swing.GroupLayout(PaneDefenderPlasmaTurret);
        PaneDefenderPlasmaTurret.setLayout(PaneDefenderPlasmaTurretLayout);
        PaneDefenderPlasmaTurretLayout.setHorizontalGroup(
            PaneDefenderPlasmaTurretLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderPlasmaTurretLayout.createSequentialGroup()
                .addComponent(LabelDefenderPlasmaTurret)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderPlasmaTurret, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderPlasmaTurretLayout.setVerticalGroup(
            PaneDefenderPlasmaTurretLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderPlasmaTurretLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderPlasmaTurret)
                .addComponent(TextFieldDefenderPlasmaTurret, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PaneDefenderSmallShieldDome.setName("PaneDefenderSmallShieldDome"); // NOI18N

        LabelDefenderSmallShieldDome.setText(bundle.getString("CRanimGUI.LabelDefenderSmallShieldDome.text")); // NOI18N
        LabelDefenderSmallShieldDome.setName("LabelDefenderSmallShieldDome"); // NOI18N

        TextFieldDefenderSmallShieldDome.setText(bundle.getString("CRanimGUI.TextFieldDefenderSmallShieldDome.text")); // NOI18N
        TextFieldDefenderSmallShieldDome.setName("TextFieldDefenderSmallShieldDome"); // NOI18N
        TextFieldDefenderSmallShieldDome.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderSmallShieldDomeLayout = new javax.swing.GroupLayout(PaneDefenderSmallShieldDome);
        PaneDefenderSmallShieldDome.setLayout(PaneDefenderSmallShieldDomeLayout);
        PaneDefenderSmallShieldDomeLayout.setHorizontalGroup(
            PaneDefenderSmallShieldDomeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderSmallShieldDomeLayout.createSequentialGroup()
                .addComponent(LabelDefenderSmallShieldDome)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderSmallShieldDome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderSmallShieldDomeLayout.setVerticalGroup(
            PaneDefenderSmallShieldDomeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderSmallShieldDomeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderSmallShieldDome)
                .addComponent(TextFieldDefenderSmallShieldDome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PaneDefenderLargeShieldDome.setName("PaneDefenderLargeShieldDome"); // NOI18N

        LabelDefenderLargeShieldDome.setText(bundle.getString("CRanimGUI.LabelDefenderLargeShieldDome.text")); // NOI18N
        LabelDefenderLargeShieldDome.setName("LabelDefenderLargeShieldDome"); // NOI18N

        TextFieldDefenderLargeShieldDome.setText(bundle.getString("CRanimGUI.TextFieldDefenderLargeShieldDome.text")); // NOI18N
        TextFieldDefenderLargeShieldDome.setName("TextFieldDefenderLargeShieldDome"); // NOI18N
        TextFieldDefenderLargeShieldDome.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderLargeShieldDomeLayout = new javax.swing.GroupLayout(PaneDefenderLargeShieldDome);
        PaneDefenderLargeShieldDome.setLayout(PaneDefenderLargeShieldDomeLayout);
        PaneDefenderLargeShieldDomeLayout.setHorizontalGroup(
            PaneDefenderLargeShieldDomeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderLargeShieldDomeLayout.createSequentialGroup()
                .addComponent(LabelDefenderLargeShieldDome)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderLargeShieldDome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderLargeShieldDomeLayout.setVerticalGroup(
            PaneDefenderLargeShieldDomeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderLargeShieldDomeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderLargeShieldDome)
                .addComponent(TextFieldDefenderLargeShieldDome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PaneDefenderSolsat.setName("PaneDefenderSolsat"); // NOI18N

        LabelDefenderSolsat.setText(bundle.getString("CRanimGUI.LabelDefenderSolsat.text")); // NOI18N
        LabelDefenderSolsat.setName("LabelDefenderSolsat"); // NOI18N

        TextFieldDefenderSolsat.setText(bundle.getString("CRanimGUI.TextFieldDefenderSolsat.text")); // NOI18N
        TextFieldDefenderSolsat.setName("TextFieldDefenderSolsat"); // NOI18N
        TextFieldDefenderSolsat.setPreferredSize(new java.awt.Dimension(59, 20));

        javax.swing.GroupLayout PaneDefenderSolsatLayout = new javax.swing.GroupLayout(PaneDefenderSolsat);
        PaneDefenderSolsat.setLayout(PaneDefenderSolsatLayout);
        PaneDefenderSolsatLayout.setHorizontalGroup(
            PaneDefenderSolsatLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderSolsatLayout.createSequentialGroup()
                .addComponent(LabelDefenderSolsat)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderSolsat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        PaneDefenderSolsatLayout.setVerticalGroup(
            PaneDefenderSolsatLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderSolsatLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(LabelDefenderSolsat)
                .addComponent(TextFieldDefenderSolsat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        PanelDefenderTechs.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("CRanimGUI.PanelDefenderTechs.border.title"))); // NOI18N
        PanelDefenderTechs.setName("PanelDefenderTechs"); // NOI18N

        PaneAttackerArms1.setName("PaneAttackerArms1"); // NOI18N

        TextFieldDefenderArms.setText(bundle.getString("CRanimGUI.TextFieldDefenderArms.text")); // NOI18N
        TextFieldDefenderArms.setName("TextFieldDefenderArms"); // NOI18N
        TextFieldDefenderArms.setPreferredSize(new java.awt.Dimension(59, 20));

        labelDefenderArms.setText(bundle.getString("CRanimGUI.labelDefenderArms.text")); // NOI18N
        labelDefenderArms.setName("labelDefenderArms"); // NOI18N

        javax.swing.GroupLayout PaneAttackerArms1Layout = new javax.swing.GroupLayout(PaneAttackerArms1);
        PaneAttackerArms1.setLayout(PaneAttackerArms1Layout);
        PaneAttackerArms1Layout.setHorizontalGroup(
            PaneAttackerArms1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneAttackerArms1Layout.createSequentialGroup()
                .addComponent(labelDefenderArms)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderArms, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PaneAttackerArms1Layout.setVerticalGroup(
            PaneAttackerArms1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneAttackerArms1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldDefenderArms, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(labelDefenderArms))
        );

        PaneDefenderhields.setName("PaneDefenderhields"); // NOI18N

        TextFieldDefenderShields.setText(bundle.getString("CRanimGUI.TextFieldDefenderShields.text")); // NOI18N
        TextFieldDefenderShields.setName("TextFieldDefenderShields"); // NOI18N
        TextFieldDefenderShields.setPreferredSize(new java.awt.Dimension(59, 20));

        labelDefenderShields.setText(bundle.getString("CRanimGUI.labelDefenderShields.text")); // NOI18N
        labelDefenderShields.setName("labelDefenderShields"); // NOI18N

        javax.swing.GroupLayout PaneDefenderhieldsLayout = new javax.swing.GroupLayout(PaneDefenderhields);
        PaneDefenderhields.setLayout(PaneDefenderhieldsLayout);
        PaneDefenderhieldsLayout.setHorizontalGroup(
            PaneDefenderhieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneDefenderhieldsLayout.createSequentialGroup()
                .addComponent(labelDefenderShields)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderShields, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PaneDefenderhieldsLayout.setVerticalGroup(
            PaneDefenderhieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderhieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldDefenderShields, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(labelDefenderShields))
        );

        PaneDefenderHull.setName("PaneDefenderHull"); // NOI18N

        TextFieldDefenderHull.setText(bundle.getString("CRanimGUI.TextFieldDefenderHull.text")); // NOI18N
        TextFieldDefenderHull.setName("TextFieldDefenderHull"); // NOI18N
        TextFieldDefenderHull.setPreferredSize(new java.awt.Dimension(59, 20));

        labelDefenderHull.setText(bundle.getString("CRanimGUI.labelDefenderHull.text")); // NOI18N
        labelDefenderHull.setName("labelDefenderHull"); // NOI18N

        javax.swing.GroupLayout PaneDefenderHullLayout = new javax.swing.GroupLayout(PaneDefenderHull);
        PaneDefenderHull.setLayout(PaneDefenderHullLayout);
        PaneDefenderHullLayout.setHorizontalGroup(
            PaneDefenderHullLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PaneDefenderHullLayout.createSequentialGroup()
                .addComponent(labelDefenderHull)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(TextFieldDefenderHull, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        PaneDefenderHullLayout.setVerticalGroup(
            PaneDefenderHullLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PaneDefenderHullLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(TextFieldDefenderHull, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(labelDefenderHull))
        );

        javax.swing.GroupLayout PanelDefenderTechsLayout = new javax.swing.GroupLayout(PanelDefenderTechs);
        PanelDefenderTechs.setLayout(PanelDefenderTechsLayout);
        PanelDefenderTechsLayout.setHorizontalGroup(
            PanelDefenderTechsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderTechsLayout.createSequentialGroup()
                .addGroup(PanelDefenderTechsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(PaneDefenderHull, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneAttackerArms1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderhields, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        PanelDefenderTechsLayout.setVerticalGroup(
            PanelDefenderTechsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderTechsLayout.createSequentialGroup()
                .addComponent(PaneAttackerArms1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PaneDefenderhields, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PaneDefenderHull, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        javax.swing.GroupLayout PanelDefenderUnitsLayout = new javax.swing.GroupLayout(PanelDefenderUnits);
        PanelDefenderUnits.setLayout(PanelDefenderUnitsLayout);
        PanelDefenderUnitsLayout.setHorizontalGroup(
            PanelDefenderUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderUnitsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanelDefenderUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(PanelDefenderTechs, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderSmallCargo, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderLargeCargo, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderLightFigher, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderHeavyFighter, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderCruiser, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderBattleship, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderColonialShip, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderRecycler, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderEspionageProbe, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderBomber, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderDestroyer, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderDeathstar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelDefenderBattlecruiser, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addGroup(PanelDefenderUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(PaneDefenderSmallShieldDome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderPlasmaTurret, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderIonCannon, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderGaussCannon, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderHeavyLaser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderLightLaser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderSolsat, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderLargeShieldDome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PaneDefenderRocketLauncher, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(20, Short.MAX_VALUE))
        );
        PanelDefenderUnitsLayout.setVerticalGroup(
            PanelDefenderUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelDefenderUnitsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanelDefenderUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(PaneDefenderSmallCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(PaneDefenderRocketLauncher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PanelDefenderUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PanelDefenderUnitsLayout.createSequentialGroup()
                        .addComponent(PaneDefenderLightLaser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PaneDefenderHeavyLaser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PaneDefenderGaussCannon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PaneDefenderIonCannon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PaneDefenderPlasmaTurret, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PaneDefenderSmallShieldDome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PaneDefenderLargeShieldDome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(PanelDefenderUnitsLayout.createSequentialGroup()
                        .addComponent(PanelDefenderLargeCargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderLightFigher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderHeavyFighter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderCruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderBattleship, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderColonialShip, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderRecycler, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PanelDefenderUnitsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PanelDefenderUnitsLayout.createSequentialGroup()
                        .addComponent(PanelDefenderEspionageProbe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderBomber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderDestroyer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderDeathstar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelDefenderBattlecruiser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(PaneDefenderSolsat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(PanelDefenderTechs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        PanelInput.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        PanelInput.setName("PanelInput"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        TextPaneCR.setName("TextPaneCR"); // NOI18N
        jScrollPane1.setViewportView(TextPaneCR);

        ButtonReadCR.setText(bundle.getString("CRanimGUI.ButtonReadCR.text")); // NOI18N
        ButtonReadCR.setName("ButtonReadCR"); // NOI18N
        ButtonReadCR.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButtonReadCRActionPerformed(evt);
            }
        });

        ButtonClearCR.setText(bundle.getString("CRanimGUI.ButtonClearCR.text")); // NOI18N
        ButtonClearCR.setName("ButtonClearCR"); // NOI18N
        ButtonClearCR.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButtonClearCRActionPerformed(evt);
            }
        });

        ButtonAnimateCR.setText(bundle.getString("CRanimGUI.ButtonAnimateCR.text")); // NOI18N
        ButtonAnimateCR.setName("ButtonAnimateCR"); // NOI18N

        javax.swing.GroupLayout PanelInputLayout = new javax.swing.GroupLayout(PanelInput);
        PanelInput.setLayout(PanelInputLayout);
        PanelInputLayout.setHorizontalGroup(
            PanelInputLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelInputLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 601, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(PanelInputLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(ButtonAnimateCR, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ButtonClearCR, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ButtonReadCR, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        PanelInputLayout.setVerticalGroup(
            PanelInputLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelInputLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanelInputLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PanelInputLayout.createSequentialGroup()
                        .addComponent(ButtonAnimateCR)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(ButtonReadCR)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(ButtonClearCR)
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addComponent(jScrollPane1))
                .addGap(6, 6, 6))
        );

        PanelControl.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("CRanimGUI.PanelControl.border.title"))); // NOI18N
        PanelControl.setName("PanelControl"); // NOI18N

        ButtonSimulate.setText(bundle.getString("CRanimGUI.ButtonSimulate.text")); // NOI18N
        ButtonSimulate.setName("ButtonSimulate"); // NOI18N
        ButtonSimulate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButtonSimulateActionPerformed(evt);
            }
        });

        ButtonAnimate.setText(bundle.getString("CRanimGUI.ButtonAnimate.text")); // NOI18N
        ButtonAnimate.setName("ButtonAnimate"); // NOI18N
        ButtonAnimate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButtonAnimateActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout PanelControlLayout = new javax.swing.GroupLayout(PanelControl);
        PanelControl.setLayout(PanelControlLayout);
        PanelControlLayout.setHorizontalGroup(
            PanelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelControlLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(ButtonAnimate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ButtonSimulate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        PanelControlLayout.setVerticalGroup(
            PanelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelControlLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(ButtonSimulate)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(ButtonAnimate)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        MenuBarMain.setName("MenuBarMain"); // NOI18N

        MenuFileButton.setText(bundle.getString("CRanimGUI.MenuFileButton.text")); // NOI18N
        MenuFileButton.setName("MenuFileButton"); // NOI18N

        MenuFile.setText(bundle.getString("CRanimGUI.MenuFile.text")); // NOI18N
        MenuFile.setName("MenuFile"); // NOI18N
        MenuFileButton.add(MenuFile);

        MenuBarMain.add(MenuFileButton);

        MenuEditButton.setText(bundle.getString("CRanimGUI.MenuEditButton.text")); // NOI18N
        MenuEditButton.setName("MenuEditButton"); // NOI18N

        MenuEdit.setText(bundle.getString("CRanimGUI.MenuEdit.text")); // NOI18N
        MenuEdit.setName("MenuEdit"); // NOI18N
        MenuEditButton.add(MenuEdit);

        MenuBarMain.add(MenuEditButton);

        setJMenuBar(MenuBarMain);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(PanelInput, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(PanelAttackerUnits, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(PanelDefenderUnits, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(PanelControl, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(PanelDefenderUnits, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelAttackerUnits, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(PanelControl, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(PanelInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void ButtonClearCRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonClearCRActionPerformed
        TextPaneCR.setText("");
    }//GEN-LAST:event_ButtonClearCRActionPerformed

    private void ButtonReadCRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonReadCRActionPerformed
        CRParser crparser = new CRParser();
        crparser.setText(TextPaneCR.getText());
        crparser.parse();
        parseDone(crparser.getResult());
        
    }//GEN-LAST:event_ButtonReadCRActionPerformed

    private void ButtonSimulateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSimulateActionPerformed
        simulate();        
    }//GEN-LAST:event_ButtonSimulateActionPerformed

    private void ButtonAnimateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonAnimateActionPerformed
        //Check if values have changed
        simulate();
        animation = new Animation(simcase);
    }//GEN-LAST:event_ButtonAnimateActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(CRanimGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }*/
        //</editor-fold>
        
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
            Logger.getLogger(CRanimGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new CRanimGUI().setVisible(true);
            }
        });
    }
    
    private void parseDone(CRParse parse){
        TextPaneCR.setText(parse.getTemp());
        
        ParsePlayer attPlayer = parse.getAttacker();
        ParsePlayer defPlayer = parse.getDefender();
        
        if(attPlayer.getCoords().isEmpty()){
            ((TitledBorder)PanelAttackerUnits.getBorder()).setTitle(attPlayer.getName());
        }
        else{
            String attCoords = attPlayer.getCoords();
            ((TitledBorder)PanelAttackerUnits.getBorder()).setTitle(attPlayer.getName()+" "+attCoords);
        }
        if(defPlayer.getCoords().isEmpty()){            
            ((TitledBorder)PanelDefenderUnits.getBorder()).setTitle(defPlayer.getName());
        }
        else{
            String defCoords = attPlayer.getCoords();
            ((TitledBorder)PanelDefenderUnits.getBorder()).setTitle(defPlayer.getName()+" "+defCoords);
        }
        repaint();
        
        ParseFleet attFleet = attPlayer.getFleet();
        ParseFleet defFleet = defPlayer.getFleet();
        
        TextFieldAttackerArms.setText(Integer.toString(attPlayer.getTechs()[ARMS]));
        TextFieldAttackerShields.setText(Integer.toString(attPlayer.getTechs()[SHIELDS]));
        TextFieldAttackerHull.setText(Integer.toString(attPlayer.getTechs()[HULL]));   
        
        TextFieldAttackerSmallCargo.setText(Integer.toString(attFleet.scargo));
        TextFieldAttackerLargeCargo.setText(Integer.toString(attFleet.lcargo));
        TextFieldAttackerLightFigher.setText(Integer.toString(attFleet.lfighter));
        TextFieldAttackerHeavyFighter.setText(Integer.toString(attFleet.hfighter));
        TextFieldAttackerCruiser.setText(Integer.toString(attFleet.cruiser));
        TextFieldAttackerBattleship.setText(Integer.toString(attFleet.bship));
        TextFieldAttackerColonialShip.setText(Integer.toString(attFleet.colship));
        TextFieldAttackerRecycler.setText(Integer.toString(attFleet.recycler));
        TextFieldAttackerEspionageProbe.setText(Integer.toString(attFleet.probe));
        TextFieldAttackerBomber.setText(Integer.toString(attFleet.bomber));
        TextFieldAttackerDestroyer.setText(Integer.toString(attFleet.destroyer));
        TextFieldAttackerDeathstar.setText(Integer.toString(attFleet.deathstar));
        TextFieldAttackerBattlecruiser.setText(Integer.toString(attFleet.bcruiser));
                
        TextFieldDefenderArms.setText(Integer.toString(defPlayer.getTechs()[ARMS]));
        TextFieldDefenderShields.setText(Integer.toString(defPlayer.getTechs()[SHIELDS]));
        TextFieldDefenderHull.setText(Integer.toString(defPlayer.getTechs()[HULL]));
        
        TextFieldDefenderSmallCargo.setText(Integer.toString(defFleet.scargo));
        TextFieldDefenderLargeCargo.setText(Integer.toString(defFleet.lcargo));
        TextFieldDefenderLightFigher.setText(Integer.toString(defFleet.lfighter));
        TextFieldDefenderHeavyFighter.setText(Integer.toString(defFleet.hfighter));
        TextFieldDefenderCruiser.setText(Integer.toString(defFleet.cruiser));
        TextFieldDefenderBattleship.setText(Integer.toString(defFleet.bship));
        TextFieldDefenderColonialShip.setText(Integer.toString(defFleet.colship));
        TextFieldDefenderRecycler.setText(Integer.toString(defFleet.recycler));
        TextFieldDefenderEspionageProbe.setText(Integer.toString(defFleet.probe));
        TextFieldDefenderBomber.setText(Integer.toString(defFleet.bomber));
        TextFieldDefenderDestroyer.setText(Integer.toString(defFleet.destroyer));
        TextFieldDefenderDeathstar.setText(Integer.toString(defFleet.deathstar));
        TextFieldDefenderBattlecruiser.setText(Integer.toString(defFleet.bcruiser));
        TextFieldDefenderSolsat.setText(Integer.toString(defFleet.solsat));
        TextFieldDefenderRocketLauncher.setText(Integer.toString(defFleet.rlauncher));
        TextFieldDefenderLightLaser.setText(Integer.toString(defFleet.llaser));
        TextFieldDefenderHeavyLaser.setText(Integer.toString(defFleet.hlaser));
        TextFieldDefenderGaussCannon.setText(Integer.toString(defFleet.gauss));
        TextFieldDefenderIonCannon.setText(Integer.toString(defFleet.ioncan));
        TextFieldDefenderPlasmaTurret.setText(Integer.toString(defFleet.plasmatur));
        TextFieldDefenderSmallShieldDome.setText(Integer.toString(defFleet.sshield));
        TextFieldDefenderLargeShieldDome.setText(Integer.toString(defFleet.lshield));
    }
    
    private void simulate(){
        Player attacker = readAttacker();
        Player defender = readDefender();
        Simulator sim = new Simulator(attacker, defender);        
        sim.run();
        simcase = sim.getAverage();
    }

    private Player readAttacker(){
        
        Player attacker;
        ParseFleet attackerParseFleet = readAttackerUnits();            
        String attTitle = ((TitledBorder)PanelAttackerUnits.getBorder()).getTitle();
        int[] attTechs = {Integer.valueOf(TextFieldAttackerArms.getText()), Integer.valueOf(TextFieldAttackerShields.getText()), Integer.valueOf(TextFieldAttackerHull.getText())};
        String attNameCoords[] = attTitle.split("\\s");    
        if(attNameCoords.length>1){
            attacker = new Player(attNameCoords[0], attNameCoords[1], attTechs, attackerParseFleet, IS_ATTACKER);
        }
        else{
            attacker = new Player(attNameCoords[0], attTechs, attackerParseFleet, IS_ATTACKER);
        }
        return attacker;
    }    
    
    private Player readDefender(){
            
        Player defender;        
        ParseFleet defenderParseFleet = readDefenderUnits();
        String defTitle = ((TitledBorder)PanelDefenderUnits.getBorder()).getTitle();
        int[] defTechs = {Integer.valueOf(TextFieldDefenderArms.getText()), Integer.valueOf(TextFieldDefenderShields.getText()), Integer.valueOf(TextFieldDefenderHull.getText())};
        String defNameCoords[] = defTitle.split("\\s");
        if(defNameCoords.length>1){
            defender = new Player(defNameCoords[0], defNameCoords[1], defTechs, defenderParseFleet, IS_DEFENDER);
        }
        else{
            defender = new Player(defNameCoords[0], defTechs, defenderParseFleet, IS_DEFENDER);
        }
        return defender;
    }
    
    private ParseFleet readAttackerUnits(){        
        ParseFleet attackerParseFleet = new ParseFleet(
            Integer.valueOf(TextFieldAttackerSmallCargo.getText()),
            Integer.valueOf(TextFieldAttackerLargeCargo.getText()),
            Integer.valueOf(TextFieldAttackerLightFigher.getText()),
            Integer.valueOf(TextFieldAttackerHeavyFighter.getText()),
            Integer.valueOf(TextFieldAttackerCruiser.getText()),
            Integer.valueOf(TextFieldAttackerBattleship.getText()),
            Integer.valueOf(TextFieldAttackerColonialShip.getText()),
            Integer.valueOf(TextFieldAttackerRecycler.getText()),
            Integer.valueOf(TextFieldAttackerEspionageProbe.getText()),
            Integer.valueOf(TextFieldAttackerBomber.getText()),
            Integer.valueOf(TextFieldAttackerDestroyer.getText()),
            Integer.valueOf(TextFieldAttackerDeathstar.getText()),
            Integer.valueOf(TextFieldAttackerBattlecruiser.getText())
        );
        return attackerParseFleet;
    }
    private ParseFleet readDefenderUnits(){ 
        ParseFleet defenderParseFleet = new ParseFleet(
            Integer.valueOf(TextFieldDefenderSmallCargo.getText()),
            Integer.valueOf(TextFieldDefenderLargeCargo.getText()),
            Integer.valueOf(TextFieldDefenderLightFigher.getText()),
            Integer.valueOf(TextFieldDefenderHeavyFighter.getText()),
            Integer.valueOf(TextFieldDefenderCruiser.getText()),
            Integer.valueOf(TextFieldDefenderBattleship.getText()),
            Integer.valueOf(TextFieldDefenderColonialShip.getText()),
            Integer.valueOf(TextFieldDefenderRecycler.getText()),
            Integer.valueOf(TextFieldDefenderEspionageProbe.getText()),
            Integer.valueOf(TextFieldDefenderBomber.getText()),
            Integer.valueOf(TextFieldDefenderDestroyer.getText()),
            Integer.valueOf(TextFieldDefenderDeathstar.getText()),
            Integer.valueOf(TextFieldDefenderBattlecruiser.getText()),
            Integer.valueOf(TextFieldDefenderSolsat.getText()),
            Integer.valueOf(TextFieldDefenderRocketLauncher.getText()),
            Integer.valueOf(TextFieldDefenderLightLaser.getText()),
            Integer.valueOf(TextFieldDefenderHeavyLaser.getText()),
            Integer.valueOf(TextFieldDefenderGaussCannon.getText()),
            Integer.valueOf(TextFieldDefenderIonCannon.getText()),
            Integer.valueOf(TextFieldDefenderPlasmaTurret.getText()),
            Integer.valueOf(TextFieldDefenderSmallShieldDome.getText()),
            Integer.valueOf(TextFieldDefenderLargeShieldDome.getText())
        );
            return defenderParseFleet;
    }

    
    //<editor-fold defaultstate="collapsed" desc=" Variables declaration ">
    private Animation animation;
    private SimCase simcase;
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton ButtonAnimate;
    private javax.swing.JButton ButtonAnimateCR;
    private javax.swing.JButton ButtonClearCR;
    private javax.swing.JButton ButtonReadCR;
    private javax.swing.JButton ButtonSimulate;
    private javax.swing.JLabel LabeDefenderDestroyer;
    private javax.swing.JLabel LabelAttackerBattlecruiser;
    private javax.swing.JLabel LabelAttackerBattleship;
    private javax.swing.JLabel LabelAttackerBomber;
    private javax.swing.JLabel LabelAttackerColonialShip;
    private javax.swing.JLabel LabelAttackerCruiser;
    private javax.swing.JLabel LabelAttackerDeathstar;
    private javax.swing.JLabel LabelAttackerDestroyer;
    private javax.swing.JLabel LabelAttackerEspionageProbe;
    private javax.swing.JLabel LabelAttackerHeavyFighter;
    private javax.swing.JLabel LabelAttackerLargeCargo;
    private javax.swing.JLabel LabelAttackerLightFigher;
    private javax.swing.JLabel LabelAttackerRecycler;
    private javax.swing.JLabel LabelAttackerSmallCargo;
    private javax.swing.JLabel LabelDefenderBattlecruiser;
    private javax.swing.JLabel LabelDefenderBattleship;
    private javax.swing.JLabel LabelDefenderBomber;
    private javax.swing.JLabel LabelDefenderColonialShip;
    private javax.swing.JLabel LabelDefenderCruiser;
    private javax.swing.JLabel LabelDefenderDeathstar;
    private javax.swing.JLabel LabelDefenderEspionageProbe;
    private javax.swing.JLabel LabelDefenderGaussCannon;
    private javax.swing.JLabel LabelDefenderHeavyFighter;
    private javax.swing.JLabel LabelDefenderHeavyLaser;
    private javax.swing.JLabel LabelDefenderIonCannon;
    private javax.swing.JLabel LabelDefenderLargeCargo;
    private javax.swing.JLabel LabelDefenderLargeShieldDome;
    private javax.swing.JLabel LabelDefenderLightFigher;
    private javax.swing.JLabel LabelDefenderLightLaser;
    private javax.swing.JLabel LabelDefenderPlasmaTurret;
    private javax.swing.JLabel LabelDefenderRecycler;
    private javax.swing.JLabel LabelDefenderRocketLauncher;
    private javax.swing.JLabel LabelDefenderSmallCargo;
    private javax.swing.JLabel LabelDefenderSmallShieldDome;
    private javax.swing.JLabel LabelDefenderSolsat;
    private javax.swing.JMenuBar MenuBarMain;
    private javax.swing.JMenu MenuEdit;
    private javax.swing.JMenu MenuEditButton;
    private javax.swing.JMenu MenuFile;
    private javax.swing.JMenu MenuFileButton;
    private javax.swing.JPanel PaneAttackerArms;
    private javax.swing.JPanel PaneAttackerArms1;
    private javax.swing.JPanel PaneAttackerHull;
    private javax.swing.JPanel PaneAttackerShields;
    private javax.swing.JPanel PaneDefenderGaussCannon;
    private javax.swing.JPanel PaneDefenderHeavyLaser;
    private javax.swing.JPanel PaneDefenderHull;
    private javax.swing.JPanel PaneDefenderIonCannon;
    private javax.swing.JPanel PaneDefenderLargeShieldDome;
    private javax.swing.JPanel PaneDefenderLightLaser;
    private javax.swing.JPanel PaneDefenderPlasmaTurret;
    private javax.swing.JPanel PaneDefenderRocketLauncher;
    private javax.swing.JPanel PaneDefenderSmallCargo;
    private javax.swing.JPanel PaneDefenderSmallShieldDome;
    private javax.swing.JPanel PaneDefenderSolsat;
    private javax.swing.JPanel PaneDefenderhields;
    private javax.swing.JPanel PanelAttackerBattlecruiser;
    private javax.swing.JPanel PanelAttackerBattleship;
    private javax.swing.JPanel PanelAttackerBomber;
    private javax.swing.JPanel PanelAttackerColonialShip;
    private javax.swing.JPanel PanelAttackerCruiser;
    private javax.swing.JPanel PanelAttackerDeathstar;
    private javax.swing.JPanel PanelAttackerDestroyer;
    private javax.swing.JPanel PanelAttackerEspionageProbe;
    private javax.swing.JPanel PanelAttackerHeavyFighter;
    private javax.swing.JPanel PanelAttackerLargeCargo;
    private javax.swing.JPanel PanelAttackerLightFigher;
    private javax.swing.JPanel PanelAttackerRecycler;
    private javax.swing.JPanel PanelAttackerSmallCargo;
    private javax.swing.JPanel PanelAttackerTechs;
    private javax.swing.JPanel PanelAttackerUnits;
    private javax.swing.JPanel PanelControl;
    private javax.swing.JPanel PanelDefenderBattlecruiser;
    private javax.swing.JPanel PanelDefenderBattleship;
    private javax.swing.JPanel PanelDefenderBomber;
    private javax.swing.JPanel PanelDefenderColonialShip;
    private javax.swing.JPanel PanelDefenderCruiser;
    private javax.swing.JPanel PanelDefenderDeathstar;
    private javax.swing.JPanel PanelDefenderDestroyer;
    private javax.swing.JPanel PanelDefenderEspionageProbe;
    private javax.swing.JPanel PanelDefenderHeavyFighter;
    private javax.swing.JPanel PanelDefenderLargeCargo;
    private javax.swing.JPanel PanelDefenderLightFigher;
    private javax.swing.JPanel PanelDefenderRecycler;
    private javax.swing.JPanel PanelDefenderTechs;
    private javax.swing.JPanel PanelDefenderUnits;
    private javax.swing.JPanel PanelInput;
    private javax.swing.JTextField TextFieldAttackerArms;
    private javax.swing.JTextField TextFieldAttackerBattlecruiser;
    private javax.swing.JTextField TextFieldAttackerBattleship;
    private javax.swing.JTextField TextFieldAttackerBomber;
    private javax.swing.JTextField TextFieldAttackerColonialShip;
    private javax.swing.JTextField TextFieldAttackerCruiser;
    private javax.swing.JTextField TextFieldAttackerDeathstar;
    private javax.swing.JTextField TextFieldAttackerDestroyer;
    private javax.swing.JTextField TextFieldAttackerEspionageProbe;
    private javax.swing.JTextField TextFieldAttackerHeavyFighter;
    private javax.swing.JTextField TextFieldAttackerHull;
    private javax.swing.JTextField TextFieldAttackerLargeCargo;
    private javax.swing.JTextField TextFieldAttackerLightFigher;
    private javax.swing.JTextField TextFieldAttackerRecycler;
    private javax.swing.JTextField TextFieldAttackerShields;
    private javax.swing.JTextField TextFieldAttackerSmallCargo;
    private javax.swing.JTextField TextFieldDefenderArms;
    private javax.swing.JTextField TextFieldDefenderBattlecruiser;
    private javax.swing.JTextField TextFieldDefenderBattleship;
    private javax.swing.JTextField TextFieldDefenderBomber;
    private javax.swing.JTextField TextFieldDefenderColonialShip;
    private javax.swing.JTextField TextFieldDefenderCruiser;
    private javax.swing.JTextField TextFieldDefenderDeathstar;
    private javax.swing.JTextField TextFieldDefenderDestroyer;
    private javax.swing.JTextField TextFieldDefenderEspionageProbe;
    private javax.swing.JTextField TextFieldDefenderGaussCannon;
    private javax.swing.JTextField TextFieldDefenderHeavyFighter;
    private javax.swing.JTextField TextFieldDefenderHeavyLaser;
    private javax.swing.JTextField TextFieldDefenderHull;
    private javax.swing.JTextField TextFieldDefenderIonCannon;
    private javax.swing.JTextField TextFieldDefenderLargeCargo;
    private javax.swing.JTextField TextFieldDefenderLargeShieldDome;
    private javax.swing.JTextField TextFieldDefenderLightFigher;
    private javax.swing.JTextField TextFieldDefenderLightLaser;
    private javax.swing.JTextField TextFieldDefenderPlasmaTurret;
    private javax.swing.JTextField TextFieldDefenderRecycler;
    private javax.swing.JTextField TextFieldDefenderRocketLauncher;
    private javax.swing.JTextField TextFieldDefenderShields;
    private javax.swing.JTextField TextFieldDefenderSmallCargo;
    private javax.swing.JTextField TextFieldDefenderSmallShieldDome;
    private javax.swing.JTextField TextFieldDefenderSolsat;
    private javax.swing.JTextPane TextPaneCR;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel labelAttackerArms;
    private javax.swing.JLabel labelAttackerHull;
    private javax.swing.JLabel labelAttackerShields;
    private javax.swing.JLabel labelDefenderArms;
    private javax.swing.JLabel labelDefenderHull;
    private javax.swing.JLabel labelDefenderShields;
    // End of variables declaration//GEN-END:variables
//</editor-fold>
}
